package com.rc.mutievcharger.dto.ylevcharger.terminal.req;

import com.rc.evcharger.common.annotation.ByteLength;
import com.rc.evcharger.common.base.yl.BaseYlCommand;
import com.rc.evcharger.common.constant.SocketConstant;

import java.math.BigDecimal;

/**
 * Create by Yang on 2021/7/14
 * <p>
 * (CMD=402)充电桩上报历史的充电记录
 */
public class YlTransactionsCommandReq extends BaseYlCommand {

    @ByteLength()
    private String obligate1; //预留字段1
    @ByteLength(length = 2)
    private String obligate2; //预留字段1
    @ByteLength(length = 32)
    private String terminalId; //充电桩编码  ASCII 编码
    @ByteLength(length = 1)
    private String gunType; //充电枪位置类型   1-直流 2-交流
    @ByteLength(length = 1)
    private String gunNum; //充电枪口
    @ByteLength(length = 32)
    private String card;    //充电卡号  ASCII 码
    @ByteLength(length = 8)
    private String startTime; //开始时间   标准时间
    @ByteLength(length = 8)
    private String endTime;   //结束时间   标准时间
    @ByteLength(length = 4)
    private String chargingTime; //充电时间长度    单位秒
    @ByteLength(length = 1)
    private BigDecimal beginSoc;    //开始 SOC
    @ByteLength(length = 1)
    private BigDecimal endSoc;    //结束 SOC
    @ByteLength(length = 4)
    private BigDecimal endReason;    //充电结束原因
    @ByteLength(length = 4, decimal = 2)
    private BigDecimal power;//总电量 精确到小数点后两位
    @ByteLength(length = 4, decimal = 2)
    private BigDecimal beforePower;//充电前电表读数
    @ByteLength(length = 4, decimal = 2)
    private BigDecimal afterPower;//充电后电表读数
    @ByteLength(length = 4, decimal = 2)
    private BigDecimal totalMoney;//本次充电金额
    @ByteLength(length = 4)
    private String obligate5;//预留
    @ByteLength(length = 4, decimal = 2)
    private BigDecimal accountCard;//充电前卡余额  只有在刷卡启动及卡里有金额的应用模式才有效
    @ByteLength(length = 4)
    private String chargeRecordIndex;//当前充电记录索引
    @ByteLength(length = 4)
    private String chargeRecordCount;//总充电记录条目
    @ByteLength(length = 1)
    private String obligate3; //预留字段3
    @ByteLength(length = 1)
    private String chargeingPolicy;//充电策略   0:充满为止 1:时间控制充电 2:金额控制充电 3:电量控制充电
    @ByteLength(length = 4)
    private String chargeingPolicyParam;//充电策略参数   时间单位为 1 秒金额单位为 0.01 元电量时单位为 0.01kw
    @ByteLength(length = 17,dateType = SocketConstant.DATE_TYPE_ASCII)
    private String carVin;//vin码    直流桩上传，没有填’\0’
    @ByteLength(length = 8)
    private String carNumber;//车牌号  可选项，没有填’\0’
    /**
     * 26* 时段 1 充电电量 2 [00:00:00~00:30:00]
     * 27* 时段 2 充电电量 2 [00:30:00~01:00:00]
     * 28* 时段 3 充电电量 2 [01:00:00~01:30:00]
     * 29* 时段 4 充电电量 2 [01:30:00~02:00:00]
     * 30* 时段 5 充电电量 2 [02:00:00~02:30:00]
     * 31* 时段 6 充电电量 2 [02:30:00~03:00:00]
     * 32* 时段 7 充电电量 2 [03:00:00~03:30:00]
     * 33* 时段 8 充电电量 2 [03:30:00~04:00:00]
     * 34* 时段 9 充电电量 2 [04:00:00~04:30:00]
     * 35* 时段 10 充电电量 2 [04:30:00~05:00:00]
     * 36* 时段 11 充电电量 2 [05:00:00~05:30:00]
     * 37* 时段 12 充电电量 2 [05:30:00~06:00:00]
     * 38* 时段 13 充电电量 2 [06:00:00~06:30:00]
     * 39* 时段 14 充电电量 2 [06:30:00~07:00:00]
     * 40* 时段 15 充电电量 2 [07:00:00~07:30:00]
     * 41* 时段 16 充电电量 2 [07:30:00~08:00:00]
     * 42* 时段 17 充电电量 2 [08:00:00~08:30:00]
     * 43* 时段 18 充电电量 2 [08:30:00~09:00:00]
     * 44* 时段 19 充电电量 2 [09:00:00~09:30:00]
     * 45* 时段 20 充电电量 2 [09:30:00~10:00:00]
     * 46* 时段 21 充电电量 2 [10:00:00~10:30:00]
     * 47* 时段 22 充电电量 2 [10:30:00~11:00:00]
     * 48* 时段 23 充电电量 2 [11:00:00~11:30:00]
     * 49* 时段 24 充电电量 2 [11:30:00~12:00:00]
     * 50* 时段 25 充电电量 2 [12:00:00~12:30:00]
     * 51* 时段 26 充电电量 2 [12:30:00~13:00:00]
     * 52* 时段 27 充电电量 2 [13:00:00~13:30:00]
     * 53* 时段 28 充电电量 2 [13:30:00~14:00:00]
     * 54* 时段 29 充电电量 2 [14:00:00~14:30:00]
     * 55* 时段 30 充电电量 2 [14:30:00~15:00:00]
     * 56* 时段 31 充电电量 2 [15:00:00~15:30:00]
     * 57* 时段 32 充电电量 2 [15:30:00~16:00:00]
     * 58* 时段 33 充电电量 2 [16:00:00~16:30:00]
     * 59* 时段 34 充电电量 2 [16:30:00~17:00:00]
     * 60* 时段 35 充电电量 2 [17:00:00~17:30:00]
     * 61* 时段 36 充电电量 2 [17:30:00~18:00:00]
     * 62* 时段 37 充电电量 2 [18:00:00~18:30:00]
     * 63* 时段 38 充电电量 2 [18:30:00~19:00:00]
     * 64* 时段 39 充电电量 2 [19:00:00~19:30:00]
     * 65* 时段 40 充电电量 2 [19:30:00~20:00:00]
     * 66* 时段 41 充电电量 2 [20:00:00~20:30:00]
     * 67* 时段 42 充电电量 2 [20:30:00~21:00:00]
     * 68* 时段 43 充电电量 2 [21:00:00~21:30:00]
     * 69* 时段 44 充电电量 2 [21:30:00~22:00:00]
     * 70* 时段 45 充电电量 2 [22:00:00~22:30:00]
     * 71* 时段 46 充电电量 2 [22:30:00~23:00:00]
     * 72* 时段 47 充电电量 2 [23:00:00~23:30:00]
     * 73* 时段 48 充电电量 2 [23:30:00~00:00:00]
     */
    @ByteLength(length = 2)
    private BigDecimal power1;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power2;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power3;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power4;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power5;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power6;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power7;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power8;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power9;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power10;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power11;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power12;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power13;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power14;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power15;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power16;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power17;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power18;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power19;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power20;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power21;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power22;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power23;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power24;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power25;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power26;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power27;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power28;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power29;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power30;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power31;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power32;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power33;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power34;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power35;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power36;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power37;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power38;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power39;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power40;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power41;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power42;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power43;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power44;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power45;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power46;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power47;//时段 1 充电电量
    @ByteLength(length = 2)
    private BigDecimal power48;//时段 1 充电电量

    @ByteLength(length = 1)
    private String startType;//启动方式  0：本地刷卡启动 1：后台启动  2：本地管理员启动
    @ByteLength(length = 32)
    private String orderNum;//充电流水号

    public String getObligate1() {
        return obligate1;
    }

    public void setObligate1(String obligate1) {
        this.obligate1 = obligate1;
    }

    public String getObligate2() {
        return obligate2;
    }

    public void setObligate2(String obligate2) {
        this.obligate2 = obligate2;
    }

    @Override
    public String getTerminalId() {
        return terminalId;
    }

    @Override
    public void setTerminalId(String terminalId) {
        this.terminalId = terminalId;
    }

    public String getGunType() {
        return gunType;
    }

    public void setGunType(String gunType) {
        this.gunType = gunType;
    }

    public String getGunNum() {
        return gunNum;
    }

    public void setGunNum(String gunNum) {
        this.gunNum = gunNum;
    }

    public String getCard() {
        return card;
    }

    public void setCard(String card) {
        this.card = card;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getChargingTime() {
        return chargingTime;
    }

    public void setChargingTime(String chargingTime) {
        this.chargingTime = chargingTime;
    }

    public BigDecimal getBeginSoc() {
        return beginSoc;
    }

    public void setBeginSoc(BigDecimal beginSoc) {
        this.beginSoc = beginSoc;
    }

    public BigDecimal getEndSoc() {
        return endSoc;
    }

    public void setEndSoc(BigDecimal endSoc) {
        this.endSoc = endSoc;
    }

    public BigDecimal getEndReason() {
        return endReason;
    }

    public void setEndReason(BigDecimal endReason) {
        this.endReason = endReason;
    }

    public BigDecimal getPower() {
        return power;
    }

    public void setPower(BigDecimal power) {
        this.power = power;
    }

    public BigDecimal getBeforePower() {
        return beforePower;
    }

    public void setBeforePower(BigDecimal beforePower) {
        this.beforePower = beforePower;
    }

    public BigDecimal getAfterPower() {
        return afterPower;
    }

    public void setAfterPower(BigDecimal afterPower) {
        this.afterPower = afterPower;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    public String getObligate5() {
        return obligate5;
    }

    public void setObligate5(String obligate5) {
        this.obligate5 = obligate5;
    }

    public BigDecimal getAccountCard() {
        return accountCard;
    }

    public void setAccountCard(BigDecimal accountCard) {
        this.accountCard = accountCard;
    }

    public String getChargeRecordIndex() {
        return chargeRecordIndex;
    }

    public void setChargeRecordIndex(String chargeRecordIndex) {
        this.chargeRecordIndex = chargeRecordIndex;
    }

    public String getChargeRecordCount() {
        return chargeRecordCount;
    }

    public void setChargeRecordCount(String chargeRecordCount) {
        this.chargeRecordCount = chargeRecordCount;
    }

    public String getObligate3() {
        return obligate3;
    }

    public void setObligate3(String obligate3) {
        this.obligate3 = obligate3;
    }

    public String getChargeingPolicy() {
        return chargeingPolicy;
    }

    public void setChargeingPolicy(String chargeingPolicy) {
        this.chargeingPolicy = chargeingPolicy;
    }

    public String getChargeingPolicyParam() {
        return chargeingPolicyParam;
    }

    public void setChargeingPolicyParam(String chargeingPolicyParam) {
        this.chargeingPolicyParam = chargeingPolicyParam;
    }

    public String getCarVin() {
        return carVin;
    }

    public void setCarVin(String carVin) {
        this.carVin = carVin;
    }

    public String getCarNumber() {
        return carNumber;
    }

    public void setCarNumber(String carNumber) {
        this.carNumber = carNumber;
    }

    public BigDecimal getPower1() {
        return power1;
    }

    public void setPower1(BigDecimal power1) {
        this.power1 = power1;
    }

    public BigDecimal getPower2() {
        return power2;
    }

    public void setPower2(BigDecimal power2) {
        this.power2 = power2;
    }

    public BigDecimal getPower3() {
        return power3;
    }

    public void setPower3(BigDecimal power3) {
        this.power3 = power3;
    }

    public BigDecimal getPower4() {
        return power4;
    }

    public void setPower4(BigDecimal power4) {
        this.power4 = power4;
    }

    public BigDecimal getPower5() {
        return power5;
    }

    public void setPower5(BigDecimal power5) {
        this.power5 = power5;
    }

    public BigDecimal getPower6() {
        return power6;
    }

    public void setPower6(BigDecimal power6) {
        this.power6 = power6;
    }

    public BigDecimal getPower7() {
        return power7;
    }

    public void setPower7(BigDecimal power7) {
        this.power7 = power7;
    }

    public BigDecimal getPower8() {
        return power8;
    }

    public void setPower8(BigDecimal power8) {
        this.power8 = power8;
    }

    public BigDecimal getPower9() {
        return power9;
    }

    public void setPower9(BigDecimal power9) {
        this.power9 = power9;
    }

    public BigDecimal getPower10() {
        return power10;
    }

    public void setPower10(BigDecimal power10) {
        this.power10 = power10;
    }

    public BigDecimal getPower11() {
        return power11;
    }

    public void setPower11(BigDecimal power11) {
        this.power11 = power11;
    }

    public BigDecimal getPower12() {
        return power12;
    }

    public void setPower12(BigDecimal power12) {
        this.power12 = power12;
    }

    public BigDecimal getPower13() {
        return power13;
    }

    public void setPower13(BigDecimal power13) {
        this.power13 = power13;
    }

    public BigDecimal getPower14() {
        return power14;
    }

    public void setPower14(BigDecimal power14) {
        this.power14 = power14;
    }

    public BigDecimal getPower15() {
        return power15;
    }

    public void setPower15(BigDecimal power15) {
        this.power15 = power15;
    }

    public BigDecimal getPower16() {
        return power16;
    }

    public void setPower16(BigDecimal power16) {
        this.power16 = power16;
    }

    public BigDecimal getPower17() {
        return power17;
    }

    public void setPower17(BigDecimal power17) {
        this.power17 = power17;
    }

    public BigDecimal getPower18() {
        return power18;
    }

    public void setPower18(BigDecimal power18) {
        this.power18 = power18;
    }

    public BigDecimal getPower19() {
        return power19;
    }

    public void setPower19(BigDecimal power19) {
        this.power19 = power19;
    }

    public BigDecimal getPower20() {
        return power20;
    }

    public void setPower20(BigDecimal power20) {
        this.power20 = power20;
    }

    public BigDecimal getPower21() {
        return power21;
    }

    public void setPower21(BigDecimal power21) {
        this.power21 = power21;
    }

    public BigDecimal getPower22() {
        return power22;
    }

    public void setPower22(BigDecimal power22) {
        this.power22 = power22;
    }

    public BigDecimal getPower23() {
        return power23;
    }

    public void setPower23(BigDecimal power23) {
        this.power23 = power23;
    }

    public BigDecimal getPower24() {
        return power24;
    }

    public void setPower24(BigDecimal power24) {
        this.power24 = power24;
    }

    public BigDecimal getPower25() {
        return power25;
    }

    public void setPower25(BigDecimal power25) {
        this.power25 = power25;
    }

    public BigDecimal getPower26() {
        return power26;
    }

    public void setPower26(BigDecimal power26) {
        this.power26 = power26;
    }

    public BigDecimal getPower27() {
        return power27;
    }

    public void setPower27(BigDecimal power27) {
        this.power27 = power27;
    }

    public BigDecimal getPower28() {
        return power28;
    }

    public void setPower28(BigDecimal power28) {
        this.power28 = power28;
    }

    public BigDecimal getPower29() {
        return power29;
    }

    public void setPower29(BigDecimal power29) {
        this.power29 = power29;
    }

    public BigDecimal getPower30() {
        return power30;
    }

    public void setPower30(BigDecimal power30) {
        this.power30 = power30;
    }

    public BigDecimal getPower31() {
        return power31;
    }

    public void setPower31(BigDecimal power31) {
        this.power31 = power31;
    }

    public BigDecimal getPower32() {
        return power32;
    }

    public void setPower32(BigDecimal power32) {
        this.power32 = power32;
    }

    public BigDecimal getPower33() {
        return power33;
    }

    public void setPower33(BigDecimal power33) {
        this.power33 = power33;
    }

    public BigDecimal getPower34() {
        return power34;
    }

    public void setPower34(BigDecimal power34) {
        this.power34 = power34;
    }

    public BigDecimal getPower35() {
        return power35;
    }

    public void setPower35(BigDecimal power35) {
        this.power35 = power35;
    }

    public BigDecimal getPower36() {
        return power36;
    }

    public void setPower36(BigDecimal power36) {
        this.power36 = power36;
    }

    public BigDecimal getPower37() {
        return power37;
    }

    public void setPower37(BigDecimal power37) {
        this.power37 = power37;
    }

    public BigDecimal getPower38() {
        return power38;
    }

    public void setPower38(BigDecimal power38) {
        this.power38 = power38;
    }

    public BigDecimal getPower39() {
        return power39;
    }

    public void setPower39(BigDecimal power39) {
        this.power39 = power39;
    }

    public BigDecimal getPower40() {
        return power40;
    }

    public void setPower40(BigDecimal power40) {
        this.power40 = power40;
    }

    public BigDecimal getPower41() {
        return power41;
    }

    public void setPower41(BigDecimal power41) {
        this.power41 = power41;
    }

    public BigDecimal getPower42() {
        return power42;
    }

    public void setPower42(BigDecimal power42) {
        this.power42 = power42;
    }

    public BigDecimal getPower43() {
        return power43;
    }

    public void setPower43(BigDecimal power43) {
        this.power43 = power43;
    }

    public BigDecimal getPower44() {
        return power44;
    }

    public void setPower44(BigDecimal power44) {
        this.power44 = power44;
    }

    public BigDecimal getPower45() {
        return power45;
    }

    public void setPower45(BigDecimal power45) {
        this.power45 = power45;
    }

    public BigDecimal getPower46() {
        return power46;
    }

    public void setPower46(BigDecimal power46) {
        this.power46 = power46;
    }

    public BigDecimal getPower47() {
        return power47;
    }

    public void setPower47(BigDecimal power47) {
        this.power47 = power47;
    }

    public BigDecimal getPower48() {
        return power48;
    }

    public void setPower48(BigDecimal power48) {
        this.power48 = power48;
    }

    public String getStartType() {
        return startType;
    }

    public void setStartType(String startType) {
        this.startType = startType;
    }

    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }
}
